package ch04.Map;

/**
 * @author chenmin
 * @desc TODO
 * @date 2025/9/4
 */
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Map1 {
    public static void main(String[] args) {
        // 创建 Scanner 对象用于接收键盘输入
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一组字符串：");
        // 读取用户输入的字符串
        String input = scanner.nextLine();

        // 创建 HashMap，键为 Character（字母），值为 Integer（出现次数）
        Map<Character, Integer> charCountMap = new HashMap<>();

        // 遍历输入字符串的每个字符
        for (char c : input.toCharArray()) {
            // 只统计字母（若要统计所有字符，可删除此 if 判断）
            if (Character.isLetter(c)) {
                // getOrDefault：若键 c 存在，取对应值；否则取默认值 0，然后 +1 后存入
                charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1);
            }
        }

        System.out.println("每个字母出现的次数：");
        // 遍历 Map，输出每个字母及其出现次数
        for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }

        // 关闭 Scanner，释放资源
        scanner.close();
    }
}

